@charset "utf-8"

rem(n, fallback = true, root = 75px)
    unless current-property
        error('rem() must be used within a property')

    unless unit(n) is 'px' and unit(root) is 'px'
        error('Please use px as a unit')

    replace(expr, str, val)
        expr = clone(expr);

        for e, i in expr {
            if str == e {
                expr[i] = val;
            }
        }

        return expr

    if fallback
        add-property(current-property[0], replace(current-property[1], '__CALL__', n));

    unit(round((n / root), 4), s('rem'));

border-radius(n)
    -webkit-border-radius n
    -moz-border-radius n
    border-radius n

placeholder()
    &::-webkit-input-placeholder
        {block}
    &:-moz-placeholder
        {block}
    &::-moz-placeholder
        {block}
    &:-ms-input-placeholder
        {block}

linear_gradient(origin, colors...)

    fallback = colors[1][0]

    colors = join(', ', colors)
    colors = unquote(colors)

    background-color: fallback
    background-image: -webkit-linear-gradient(origin, colors) // Chrome, Safari
    background-image:    -moz-linear-gradient(origin, colors) // Firefox (3.6 - 15)
    background-image:     -ms-linear-gradient(origin, colors) // IE 10
    background-image:      -o-linear-gradient(origin, colors) // Opera (11.1 - 12.0)
    background-image:         linear-gradient(origin, colors) // W3C